package cn.com.generaldata.os.pojo;

import java.util.Date;

import com.sun.xml.internal.bind.CycleRecoverable;

public class ReportHistory implements java.io.Serializable, CycleRecoverable {

	private static final long serialVersionUID = 6550327166799573914L;

	private String id; // 报表审批处理ID
	private User operator; // 处理人
	private Report report; // 报表信息
	private short reportStatus; // 报表状态
	private String reportCheckComment; // 处理意见
	private String reportCheckResult; // 处理结果
	private Date historyDate; // 处理时间

	public ReportHistory() {
	}

	public ReportHistory(String id, User operator, Report report, short reportStatus, Date historyDate) {
		this.id = id;
		this.operator = operator;
		this.report = report;
		this.reportStatus = reportStatus;
		this.historyDate = historyDate;
	}

	public ReportHistory(String id, User operator, Report report, short reportStatus, String reportCheckComment,
			String reportCheckResult, Date historyDate) {
		this.id = id;
		this.operator = operator;
		this.report = report;
		this.reportStatus = reportStatus;
		this.reportCheckComment = reportCheckComment;
		this.reportCheckResult = reportCheckResult;
		this.historyDate = historyDate;
	}

	/**
	 * 解决CXF循环引用问题.
	 * 
	 * @param arg0
	 * @return
	 */
	@Override
	public Object onCycleDetected(Context arg0) {
		ReportHistory temp = new ReportHistory();
		temp.setId(id);
		return temp;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public User getOperator() {
		return operator;
	}

	public void setOperator(User operator) {
		this.operator = operator;
	}

	public Report getReport() {
		return report;
	}

	public void setReport(Report report) {
		this.report = report;
	}

	public short getReportStatus() {
		return reportStatus;
	}

	public void setReportStatus(short reportStatus) {
		this.reportStatus = reportStatus;
	}

	public String getReportCheckComment() {
		return reportCheckComment;
	}

	public void setReportCheckComment(String reportCheckComment) {
		this.reportCheckComment = reportCheckComment;
	}

	public String getReportCheckResult() {
		return reportCheckResult;
	}

	public void setReportCheckResult(String reportCheckResult) {
		this.reportCheckResult = reportCheckResult;
	}

	public Date getHistoryDate() {
		return historyDate;
	}

	public void setHistoryDate(Date historyDate) {
		this.historyDate = historyDate;
	}

}
